package edu.ar.modulo2.valentinis.persist.daoImpl;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;

import edu.ar.modulo2.valentinis.modelo.Empleado;
import edu.ar.modulo2.valentinis.persist.ConnectionManager;
import edu.ar.modulo2.valentinis.persist.dao.IEmpleadoDAO;

public class EmpleadoDAOJdbcImpl implements IEmpleadoDAO{

	@Override
	public void save(Empleado enttity) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void update(Empleado enttity) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void delet(Empleado enttity) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public List<Empleado> getAll() {

		Statement st = null;
		ResultSet rs = null;
		List<Empleado> list = new ArrayList<Empleado>();
		String sql = "SELECT * FROM Empleado";
		
		try {
			
			st = ConnectionManager.getInstance().getConnection().createStatement();
			rs = st.executeQuery(sql);
			
			while( rs.next() ) {
				
				Empleado emp = new Empleado();
								
				emp.setLegajo(  rs.getString("dni") );
				emp.setNombre( rs.getString("nombre") );
				
				list.add(emp);				
			}
			
		} catch (SQLException e) {
			
			System.out.println("ERROR EN EL SATEMENT");
			e.printStackTrace();
		}
		
		return list;

	}

	@Override
	public Empleado getElemntById(Long id) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public Empleado getEmpleadoByDni(String dni) {

		PreparedStatement st = null;
		ResultSet rs = null;
		Empleado emp = new Empleado();
		String sql = "SELECT * FROM Empleado WHERE dni like ?";
		
		try {
			
			st = ConnectionManager.getInstance().getConnection().prepareStatement(sql);
			st.setString(1, dni);
			rs = st.executeQuery();			
							
			emp.setLegajo(  rs.getString("dni") );
			emp.setNombre( rs.getString("nombre") );
					
		} catch (SQLException e) {
			
			System.out.println("ERROR EN EL SATEMENT");
			e.printStackTrace();
		}
		
		return emp;
	}

}
